/**
 * 
 */
package com.ph.shopping.facade.member.service;

import java.util.List;

import com.ph.shopping.common.util.result.Result;
import com.ph.shopping.facade.member.dto.MemberInfoDto;
import com.ph.shopping.facade.member.dto.MemberLoginDto;
import com.ph.shopping.facade.member.dto.MemberPageDto;
import com.ph.shopping.facade.member.dto.MemberPasswordDto;
import com.ph.shopping.facade.member.dto.PayPasswordDto;
import com.ph.shopping.facade.member.dto.RegisterMemberDto;
import com.ph.shopping.facade.member.entity.TradersPassword;
import com.ph.shopping.facade.member.vo.MemberPhoneUpdataVo;

/**
 * 
* @ClassName: IMemberService  
* @Description: 会员操作 
* @author lijie  
* @date 2017年3月14日  
*
 */
public interface IMemberService {
	
	/**
	 * 
	* @Title: getMemberInfoByMobile  
	* @Description: 根据手机号查询会员信息  
	* @param @param mobile
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getMemberInfoByMobile(String mobile);
	/**
	 * 
	* @Title: getPayPwdInfoByMobile  
	* @Description: 根据手机号获取会员支付密码
	* @param @param mobile
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getMemberPayPwdInfoByMobile(String mobile);
	/**
	 * 
	* @Title: getMemberListByPage  
	* @Description: 分页获取会员列表
	* @param @param page
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getMemberListByPage(MemberPageDto page);
	/**
	 * 
	* @Title: getMemberList  
	* @Description: 获取会员列表
	* @param @param member
	* @param @return    参数  
	* @return Result    返回类型  供导出列表数据查询
	* @throws
	 */
	Result getMemberList(MemberPageDto dto);
	
	/**
	 * 
	* @Title: addMember  
	* @Description: 添加会员
	* @param @param member
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result addMember(RegisterMemberDto dto);
	/**
	 * 
	* @Title: registerMember  
	* @Description: 注册会员 
	* @param @param member
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result registerMember(RegisterMemberDto dto);
	/**
	 * 
	* @Title: updateMember  
	* @Description: 修改会员 
	* @param @param member
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result updateMember(MemberInfoDto memberUpdateDto);
	
	/**
	 * 
	* @Title: deleteMember  
	* @Description: 删除会员  
	* @param @param member
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result deleteMember(Integer id);
	/**
	 * 
	* @Title: batchUpdateMembers  
	* @Description: 批量修改  
	* @param @param list
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result batchUpdateMembers(List<MemberInfoDto> list);
	/**
	 * 
	* @Title: batchDeleteMembers  
	* @Description: 批量删除  
	* @param @param list
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result batchDeleteMembers(List<Integer> list);
	/**
	 * 
	* @Title: memberAuthentication  
	* @Description: 会员认证  
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result memberAuthentication(MemberInfoDto dto);
	/**
	 * 
	* @Title: memberFrozen  
	* @Description: 冻结
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result memberFrozen(MemberInfoDto dto);
	/**
	 * 
	* @Title: memberUpdatePassword  
	* @Description: 修改会员密码  
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result updateMemberPassword(MemberPasswordDto dto);
	
	/**
	 * 
	* @Title: backPassword  
	* @Description: 找回会员密码 
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result backMmberPassword(MemberPasswordDto dto);
	/**
	 * 
	* @Title: memberRelievefrozen  
	* @Description: 会员解除冻结
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result memberRelievefrozen(MemberInfoDto dto);
	/**
	 * 
	* @Title: memberLogin  
	* @Description: 会员登录校验)  
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result memberLogin(MemberLoginDto dto);
	/**
	 * 
	* @Title: addMemberPayPwd  
	* @Description: 添加支付密码  
	* @param @param tradersPassword
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result addMemberPayPwd(TradersPassword tradersPassword);
	/**
	 * 
	* @Title: getPayPwdInfo  
	* @Description: 查询支付密码
	* @param @param paydto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getPayPwdInfo(PayPasswordDto dto); 
	/**
	 * 
	* @Title: updatePayPassword  
	* @Description: 修改支付密码  
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result updatePayPassword(PayPasswordDto dto);
	/**
	 * 
	* @Title: updateMemberPhone  
	* @Description:修改会员手机号
	* @param @param vo
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result updateMemberPhone(MemberPhoneUpdataVo vo);
	/**
	 * 
	 * @Title: verifyPhoneIsExists   
	 * @Description: 校验手机号是否存在   
	 * @param: @param phone
	 * @param: @return      
	 * @return: Result      
	 * @throws
	 */
	Result verifyPhoneIsExists(String phone);
}
